package cn.iocoder.yudao.module.trade.controller.admin.delivery.vo.wxexpress;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class ExpressChannelReqVO {
    @Schema(description = "订单 ID，需保证全局唯一", example = "01234567890123456789")
    @JsonProperty("order_id")
    @NotEmpty(message = "订单 ID 不能为空")
    private String orderId;

    @Schema(description = "用户openid，当add_source=2时无需填写（不发送物流服务通知）", example = "oABC123456")
    @JsonProperty("openid")
    private String openid;

    @Schema(description = "快递公司ID，参见getAllDelivery", example = "SF")
    @NotEmpty(message = "快递公司ID 不能为空")
    @JsonProperty("delivery_id")
    private String deliveryId;

    @Schema(description = "运单ID", example = "123456789")
    @NotEmpty(message = "运单ID 不能为空")
    @JsonProperty("waybill_id")
    private String waybillId;
}
